// 此文件是由模板文件 ".dtpl/component/$rawModuleName.ts.dtpl" 生成的，你可以自行修改模板

import { MyComponent, comify } from 'base'

@comify()
export default class extends MyComponent {
  /**
   * 组件的属性列表
   */
  properties = {
    // 输入框左侧标题，若传入为空，则不显示标题
    title: {
      value: null,
      type: String
    },
    // 输入框的名字，作为 form 表单提交时数据的 key
    name: {
      value: null,
      type: String
    },
    // 输入框的内容
    value: {
      value: null,
      type: String
    },
    // 输入框的类型，可选值为 input, textarea
    type: {
      value: 'input',
      type: String
    },
    // 输入框为 input 情况下，输入框的类型，例如：number, text, password
    inputType: {
      value: 'text',
      type: String
    },
    // 输入框为空时占位符
    placeholder: {
      value: null,
      type: String
    },
    // 自动聚焦，拉起键盘
    focus: {
      value: false,
      type: Boolean
    },
    // 输入框展示样式，可选值为 wrapped, normal
    mode: {
      value: 'normal',
      type: String
    },
    // 输入框内容是否居右显示
    right: {
      value: false,
      type: Boolean
    },
    // 是否显示为输入框错误情况下的样式
    error: {
      value: false,
      type: Boolean
    },
    // 用于区分输入框之间的唯一名称
    componentId: {
      value: null,
      type: String
    },

  }

  /**
   * 组件的初始数据
   */
  data = {

  }

  /**
   * 组件属性值有更新时会调用此函数，不需要在 properties 中设置 observer 函数
   */
  onPropUpdate(prop: string, newValue: any, oldValue: any) {

  }

  handleFieldChange(e: any) {
    const { value } = e.detail;
    this.setDataSmart({ value })
  }
}

